class Solution {
 public:
  ListNode* swapPairs(ListNode* head) {
    if (!head || !head->next) return head;
    ListNode* one = head;
    ListNode* second = one->next;
    one->next = one->next->next;
    second->next = one;
    one->next = swapPairs(one->next);
    return second;
  }
};
// 一次递归做什么事情？交换两个链表结点，返回这段链表的头结点